In mathematics, specifically in category theory, (i.e. sets of between objects) give rise to important to the category of sets. These functors are called hom-functors and have numerous applications in category theory and other branches of mathematics.
For all objects A and B in C we define two functors to the category of sets as follows:
This is a covariant functor given by:
| This is a contravariant functor given by:
|
Note that fixing the first argument of Hom naturally gives rise to a covariant functor and fixing the second argument naturally gives a contravariant functor. This is an artifact of the way in which one must compose the morphisms.
The pair of functors Hom( A, –) and Hom(–, B) are related in a natural manner. For any pair of morphisms f : B → B′ and h : A′ → A the following diagram commutes: Both paths send g : A → B to f∘ g∘ h : A′ → B′.
The commutativity of the above diagram implies that Hom(–, –) is a bifunctor from C × C to Set which is contravariant in the first argument and covariant in the second. Equivalently, we may say that Hom(–, –) is a bifunctor
gives rise to a natural transformation
and every morphism
gives rise to a natural transformation
Yoneda's lemma implies that every natural transformation between Hom functors is of this form. In other words, the Hom functors give rise to a full and faithful embedding of the category C into the functor category Set C op (covariant or contravariant depending on which Hom functor is used).
Internal Homs, when chained together, form a language, called the internal language of the category. The most famous of these are simply typed lambda calculus, which is the internal language of Cartesian closed categories, and the linear type system, which is the internal language of closed symmetric monoidal categories.
is a presheaf; likewise, Hom( A, –) is a copresheaf.
A functor F : C → Set that is naturally isomorphic to Hom( A, –) for some A in C is called a representable functor (or representable copresheaf); likewise, a contravariant functor equivalent to Hom(–, A) might be called corepresentable.
Note that Hom(–, –) : Cop × C → Set is a profunctor, and, specifically, it is the identity profunctor .
The internal hom functor preserves limits; that is, sends limits to limits, while sends limits in , that is in , into limits. In a certain sense, this can be taken as the definition of a limit or colimit.
The endofunctor Hom( E, –) : Set → Set can be given the structure of a monad; this monad is called the environment (or reader) monad.
Let R be a ring and M a left R-module. The functor Hom R( M, –): Mod- R → Ab is right adjoint to the tensor product functor – R M: Ab → Mod- R.
|
|